package 课程设计报告_hb_7_5;

import java.io.FileOutputStream;

import org.junit.Test;

/**
 * @author Jiang Zhiyan
 *
 * 2021年7月5日 下午2:38:15
 *
 */
public class FileOutputStreamTest {
//	new FileOutputStream("./demo/d03.txt") 总是创建d03.txt文件
//	new FileOutputStream("./demo/d03/txt",true)  可以通过这种创建方式中的第二个参数设置文件创建
	@Test
	public void fosTest() throws Exception{
		FileOutputStream fos =null;
		try {
			fos = new FileOutputStream("./demo/d03/txt",true);
//			向文件中写入一个byte数组
			byte[] bytes = "马上放暑假了".getBytes();
			fos.write(bytes);
		}catch(Exception e){
			throw e;
		}finally {
			if(fos != null) {
//				确保数据全部写入到文件中
				fos.flush();
//				io的资源属于物理资源，必须手动的进行释放
				fos.close();
			}
		}
	}
	
	@Test
	public void fosJDK7Test() throws Exception{
		/**
		 * try(){} jdk7.0提供的try-with-resources语法
		 * 
		 * try后面的小括号只能实例化 AutoCloseable对象
		 */
		try (FileOutputStream fos =new FileOutputStream("./demo/d03.txt",true);){
			//向文件中写入一个byte数组
			fos.write("\n".getBytes());
			byte [] bytes = "还有两周".getBytes();
			fos.write(bytes);
			fos.flush();
		}catch (Exception e) {
			throw e;
		}
	}
}
